#include <SDL/SDL.h>
#include <SDL/SDL_mixer.h>
#include "BM_sound.h"



void BMSound::loadWAV(const char* filename){
	snd = Mix_LoadWAV(filename);
}

/*******************************************************************************/
void BMSound::play(){
	if(snd)Mix_PlayChannel( -1, snd, 0 );
}

/*******************************************************************************/
void BMSound::free(){
	Mix_FreeChunk(snd);
}

/*******************************************************************************/
int BMSound::setVolume(int vol){
	return Mix_VolumeChunk(snd, vol);
}

/*******************************************************************************/
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////
BMMusic::BMMusic(){
	is_playing = 0;
}

/*******************************************************************************/
int BMMusic::load(const char* filename){
	mus = Mix_LoadMUS(filename);

	if (mus)
        return 1;
    else
        return 0;
}

/*******************************************************************************/
void BMMusic::play(){
	if(mus)
    {
        Mix_PlayMusic(mus, -1);

        if(isPlaying())
            is_playing = 0;
        else
            is_playing = 1;
    }
}

/*******************************************************************************/
void BMMusic::pause(){
	Mix_PausedMusic();
	is_playing = 0;
}

/*******************************************************************************/
void BMMusic::resume(){
	Mix_ResumeMusic();
	is_playing = 1;
}

/*******************************************************************************/
void BMMusic::stop(){
	Mix_HaltMusic();
	is_playing = 0;
}

/*******************************************************************************/
void BMMusic::free(){
	Mix_FreeMusic(mus);
}

/*******************************************************************************/
int BMMusic::isPlaying(){
	return is_playing;
}

